# @Time    :2025/4/12 22:20

"""# 切片赋值"""
# list3 = [1, 23, 33, 5, 56, 6, 8, 8, 67, 1]  # 个数是10
# list3[10:] = [2, 3, 4, 8, 9]  # 切片赋值， 拼接在第10个元素后边
# list3[1:2] = [3, 4]  # 切片替换
# print(list3)
#---------------------------
list3 = [1, 23, 33, 5, 56, 6, 8, 8, 67, 1]  # 个数是10

li=[2, 3, 4, 8, 9]
list3[:10] = li  # 切片赋值， 拼接在第10个元素后边
list3.sort()
print(list3)


def canJump(self, nums: List[int]) -> bool:
    end = 0
    n = len(nums)
    for i in range(n - 1):
        step = nums[i]
        if i > end:
            return False
        end = max(end, i + step)
    return end >= n - 1

def canJump(self, nums: List[int]) -> bool:
    end = 0              # 初始化最远能到达的位置
    n = len(nums)        # 获取数组长度
    for i in range(n - 1):  # 遍历数组的前 n-1 个元素
        step = nums[i]   # 当前索引处能够跳跃的最大步数
        if i > end:      # 如果当前索引已经超出了最远能到达的位置
            return False # 说明无法继续前进，返回 False
        end = max(end, i + step)  # 更新最远能到达的位置
    return end >= n - 1  # 检查是否能到达或超过最后一个位置



class Solution:
    def removeDuplicates(self, nums: List[int]) -> int:
        cnt = 0
        for n in nums:
            if cnt < 2 or n != nums[cnt-2]:
                nums[cnt] = n
                cnt += 1

        return cnt